1. Field of the Invention
The present invention relates generally to communication systems, and is more particularly related to providing congestion avoidance in a switching communication system.
2. Discussion of the Background
As businesses and society, in general, become increasingly reliant on communication networks to conduct a variety of activities, ranging from business transactions to personal entertainment, these communication networks continue to experience greater and greater traffic congestion. For example, the maturity of electronic commerce and acceptance of the Internet as a daily tool pose an enormous challenge to communication engineers to develop techniques to reduce network latency and user response times. With the advances in processing power of desktop computers, the average user has grown accustomed to sophisticated multimedia applications, which place tremendous strain on network resources (e.g., switch capacity). Also, because the decrease in application response times is a direct result of the increased processor performance, the user has grown less tolerant of network delays, demanding comparable improvements in the network infrastructure.
Traffic control can be accomplished using two general approaches: flow control, and congestion control. Flow control seeks to regulate the amount of traffic that is transmitted to and from a source node and a destination node, by permitting the destination node to control the rate at which the source transfer data as to not overload the respective destination node. Flow control, however, does not directly address the problem associated with managing the traffic load on the network; for instance, numerous source nodes and destination nodes can be communicating at rates that are acceptable to the destination nodes. Nonetheless, the network (i.e., networking components) may not be able to sustain the overall level of traffic that is exchanged by these source and destination nodes.
Therefore, congestion avoidance schemes are needed to control the network traffic in a way as to effectively maintain the overall traffic that is introduced by the nodes. Without a congestion avoidance scheme, a large queuing delay will occur, potentially resulting in dropped packets. Consequently, the quality of service of the system will likely be degraded. Also, because the switch is forced to drop packets, the useful capacity of the system is reduced; thus, the network service provider suffers a loss of revenue.
One traditional approach to congestion avoidance is to upgrade the hardware to increase capacity to enhance the throughput of the system. The main drawbacks with this forklift approach are cost and potential lack of interoperability. Further, in some systems, such as a communication satellite, hardware replacement is impractical.
Another technique to avoid congestion involves the development of sophisticated networking protocols. One drawback with this approach is that the developed protocol may not be easily standardized; without industry acceptance, the development cost cannot be recouped. Another drawback is that the protocol is likely to be inefficient, requiring significant overhead bits to effect congestion control; this protocol inefficiency negatively impacts throughput of the network.
Based on the foregoing, there is a clear need for improved approaches for providing congestion avoidance.
There is also a need to optimize the use of existing network hardware.
There is also a need to minimize congestion without introducing protocol overhead cost.
Based on the need to improve system throughput, an approach for providing congestion control by optimizing switching system performance is highly desirable.
According to one aspect of the invention, a method is provided for performing congestion avoidance in a switching system having a plurality of input ports and a plurality of output ports. The method includes receiving a bandwidth request at one of the input ports, and generating a plurality of clusters based upon a transmission constraint that is associated with the output ports. Each of the clusters designates a portion of a plurality of destination sites. The method also includes determining a cluster threshold corresponding to traffic load distribution among a portion of the plurality of clusters. Further, the method encompasses selectively granting the bandwidth request based upon the step of determining the cluster threshold. Under this approach, congestion avoidance is provided using low complexity logic.
According to another aspect of the invention, a switching system for providing congestion avoidance comprises a plurality of input ports, in which one of the input ports receives a bandwidth request. A bandwidth control processor is coupled to the plurality of input ports and is configured to examine the bandwidth request. A plurality of output ports communicates with a plurality of destination sites. A congestion avoidance logic is configured to perform the following steps: generating a plurality of clusters based upon a transmission constraint that is associated with the output ports, in which each of the clusters designates a portion of the plurality of destination sites; determining a cluster threshold corresponding to a percent of a traffic load of one of the plurality of clusters; and selectively granting the bandwidth request based upon the determined cluster threshold. The above arrangement advantageously provides enhanced system throughput.
In yet another aspect of the invention, a computer-readable medium carrying one or more sequences of one or more instructions for performing congestion avoidance in a switching system having a plurality of input ports and a plurality of output ports is disclosed. The one or more sequences of one or more instructions include instructions which, when executed by one or more processors, cause the one or more processors to perform the step of receiving a bandwidth request at one of the input ports. Another step includes generating a plurality of clusters based upon a transmission constraint that is associated with the output ports, in which each of the clusters designates a portion of a plurality of destination sites. Another step includes determining a cluster threshold corresponding to traffic load distribution among a portion of the plurality of clusters. A further step includes selectively granting the bandwidth request based upon the step of determining the cluster threshold. This approach advantageously improves efficiency of the switching communication system.